/* input(272,1): run-time error CSS1019: Unexpected token, found '}' */
  *,
  *::before,
  *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  html {
    /* scroll-behavior controlled via .smooth-scroll class by JS to prevent Chromium bug */
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  html.smooth-scroll {
    scroll-behavior: smooth;
  }

  body {
    font-family: "Be Vietnam Pro", "Montserrat", system-ui, sans-serif;
    color: #1a1a1a;
    background: #F5EFE0;
    overflow-wrap: break-word;
    word-break: break-word;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
  }

  img {
    max-width: 100%;
    height: auto;
    /* display: block; */
  }

  a {
    color: inherit;
    text-decoration: none;
  }

  ul {
    list-style: none;
  }

  button {
    font: inherit;
    cursor: pointer;
    border: none;
    background: none;
  }
/* 
  .container {
    width: 100%;
    max-width: 1300px;
    margin-inline: auto;
    padding-inline: 10px;
  } */

  .container {
    width: min(1300px, calc(100% - 32px));
    margin-inline: auto;
  }

  .section-label {
    display: flex;
    align-items: center;
    gap: 20px;
    max-width: 100%;
    text-transform: uppercase;
    color: #1a8f3d;
    margin-bottom: 10px;
  }


  .section-label::before {
    content: "";
    flex: 0 0 3px;
    width: 3px;
    height: 10px;
    background: #1A8F3D;
    box-shadow: 5px 0 0 #1A8F3D, 10px 0 0 #1A8F3D;
  }

  .section-title {
    color: #1a1a1a;
  }

  .link-arrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;


    color: #1a8f3d;
    white-space: nowrap;
    transition: gap 0.2s;
    align-self: flex-end;
  }

  .link-arrow:hover {
    gap: 10px;
  }

  .link-arrow::after {
    content: " ➔";
  }

  /* Floating Contact Widget */
  .floating-contact-widget {
      position: fixed;
      bottom: 30px;
      right: 30px;
      display: flex;
      flex-direction: column;
      gap: 30px;
      z-index: 9999;
  }

  .floating-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 60px;
      height: 60px;
      border-radius: 50%;
      text-decoration: none;
      box-shadow: 0 4px 10px rgba(0,0,0,0.2);
      transition: transform 0.3s ease;
  }

  .floating-btn:hover {
      transform: scale(1.1);
  }

  .floating-btn--messenger {
      background: linear-gradient(45deg, #00B2FF, #006AFF);
      animation: floating-shake 5s infinite;
      position: relative;
  }

[data-article-link] {
  cursor: pointer;
}

.floating-btn--zalo {
    background: #ffffff;
    animation: floating-shake 5s infinite;
    position: relative;
}

.floating-btn::before,
.floating-btn::after,
.floating-btn .wave {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid rgba(0, 104, 255, 0.45);
    pointer-events: none;
}
.floating-btn::before {
    animation: floating-pulse 3s infinite;
}
.floating-btn::after {
    animation: floating-pulse 3s infinite 1s;
}
.floating-btn .wave {
    animation: floating-pulse 3s infinite 2s;
}

@keyframes floating-pulse {
    0% { transform: scale(0.95); opacity: 0; }
    10% { transform: scale(1); opacity: 0.7; }
    70% { transform: scale(1.8); opacity: 0; }
    100% { transform: scale(1.8); opacity: 0; }
}

@keyframes floating-shake {
    0%, 80%, 100% { transform: rotate(0deg); }
    82% { transform: rotate(-15deg); }
    84% { transform: rotate(15deg); }
    86% { transform: rotate(-12deg); }
    88% { transform: rotate(12deg); }
    90% { transform: rotate(-8deg); }
    92% { transform: rotate(8deg); }
    94% { transform: rotate(-4deg); }
    96% { transform: rotate(4deg); }
    98% { transform: rotate(0deg); }
}


/* Global Tooltip Styles */
.global-tooltip {
  position: absolute;
  background-color: rgba(17, 106, 48, 0.95);
  color: #fff;
  padding: 6px 12px;
  border-radius: 4px;
  font-size: 12px;
  line-height: 1.4;
  z-index: 99999;
  pointer-events: none;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  transition: opacity 0.15s ease-out, transform 0.15s ease-out;
  opacity: 0;
  transform: translate(-50%, 5px);
  white-space: nowrap;
}
.global-tooltip.is-active {
  opacity: 1;
}


.has-tooltip {
  cursor: help;
  position: relative;
}

.has-tooltip:hover::before {
  content: "";
  position: absolute;
  left: 16px;
  bottom: calc(100% + 2px);
  z-index: 10;
  border: 6px solid transparent;
  border-top-color: #1f1b16;
  pointer-events: none;
}

.has-tooltip:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  left: 0;
  bottom: calc(100% + 12px);
  z-index: 10;
  width: max-content;
  max-width: min(280px, calc(100vw - 32px));
  padding: 8px 10px;
  border-radius: 6px;
  background: #1f1b16;
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
  font-family: var(--font-family-base, 'Inter', sans-serif);
  font-size: 14px;
  line-height: 1.4;
  font-weight: 400;
  text-align: left;
  white-space: normal;
  pointer-events: none;
  word-wrap: break-word;
}

@media (max-width: 767px) {
    .floating-contact-widget {
        bottom: 16px;
        right: 16px;
        gap: 16px;
    }
    .floating-btn {
        width: 44px;
        height: 44px;
    }
    .floating-btn svg {
        width: 26px !important;
        height: 26px !important;
    }
    @keyframes floating-pulse {
        0% { transform: scale(0.95); opacity: 0; }
        10% { transform: scale(1); opacity: 0.7; }
        70% { transform: scale(1.5); opacity: 0; }
        100% { transform: scale(1.5); opacity: 0; }
    }
}
